package ${groupId}.service.system.sysparam.dto;

import org.apache.commons.lang3.StringUtils;

import java.util.Date;
import lombok.Data;
import lombok.EqualsAndHashCode;

import com.system.core.view.layui.table.TableViewReqDto;

@Data
@EqualsAndHashCode(callSuper = true)
public class SysParamQueryFilter extends TableViewReqDto{

	//
	private Date createTime;
	//
	private Long id;
	//
	private String paramName;
	//
	private String paramValue;
	//备注
	private String remark;
	//
	private Date updateTime;
	/**
	 * 
	 * jdbctype:timestamp
	 */
	private String createTimeStrStart;
	private String createTimeStrEnd;
	
	/**
	 * 
	 * jdbctype:timestamp
	 */
	private String updateTimeStrStart;
	private String updateTimeStrEnd;
	

	public String toQueryString() {
		StringBuilder param = new StringBuilder();
		/**
		 * jdbcType:timestamp
		 */
		if(StringUtils.isNotBlank(getCreateTimeStrStart())) {
			param.append("&createTimeStrStart=");
			param.append(getCreateTimeStrStart());
		}
		if(StringUtils.isNotBlank(getCreateTimeStrEnd())) {
			param.append("&createTimeStrEnd=");
			param.append(getCreateTimeStrEnd());
		}
		/**
		 * jdbcType:bigint(20)
		 */
		if(getId() != null) {
			param.append("&id=");
			param.append(getId());
		}
		/**
		 * 
		 * jdbcType:varchar(50)
		 */
		if(StringUtils.isNotBlank(getParamName())) {
			param.append("&paramName=");
			param.append(getParamName());
		}
		/**
		 * 
		 * jdbcType:varchar(500)
		 */
		if(StringUtils.isNotBlank(getParamValue())) {
			param.append("&paramValue=");
			param.append(getParamValue());
		}
		/**
		 * 备注
		 * jdbcType:varchar(255)
		 */
		if(StringUtils.isNotBlank(getRemark())) {
			param.append("&remark=");
			param.append(getRemark());
		}
		/**
		 * jdbcType:timestamp
		 */
		if(StringUtils.isNotBlank(getUpdateTimeStrStart())) {
			param.append("&updateTimeStrStart=");
			param.append(getUpdateTimeStrStart());
		}
		if(StringUtils.isNotBlank(getUpdateTimeStrEnd())) {
			param.append("&updateTimeStrEnd=");
			param.append(getUpdateTimeStrEnd());
		}
//		if(param.length() > 0)
//			return "?"+param.toString().substring(1, param.length());
//		else
		return param.toString();
	}
	
	@Override
	public String toString() {
		return toQueryString();
	}
}
